Many software applications, and in particular those that make use of one or more Graphic User Interfaces (GUI), are usually provided in one primary language. However, over the years, many developers have found it advantageous to deploy (e.g., market and sell) their applications in other countries and in multiple languages as the demand for such software applications has increased throughout the world.
Thus, for such applications to be effectively used in multiple countries, the development of the applications requires translation in some form. For example, a GUI may have a drop down menu that displays options such as new, open, or save. Therefore, if the developer would like to distribute the software application that makes use of this GUI in France, the developer would need to translate this drop down menu and corresponding options into French so that a French speaking user would be able to effectively use the application.
Many times, an outside party (e.g., translation service) is contracted to perform the translation. The process of having an application translated into another language may involve: (1) providing an export of the text from the application in human-readable form for translation to the translation service; (2) communicating the context of the text to be translated to the translating agents working for the translation service; (3) importing the translated text into the original application once the translation is completed; and (4) distributing and maintaining multiple versions of the application to provide the application in multiple languages. Thus, this process is very time consuming and costly.
As a result, the typical approach followed by software developers in handling distribution to multiple countries is to either keep the application in the native language in which it is written or to offer different, discreet packages of the application that include a translation. Therefore, a developer runs the risk of losing potential customers by only providing the software in its native language or runs the high cost of providing multiple versions of the software.
Thus, a need in the art exists for a process that allows a developer to develop software in a native language and allows the developer to provide the software in a different language without having to have the application translated by a costly translation service and without having to manage multiple versions of the software application.